<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="../../../resources/templates/login.xhtml"
                xmlns:p="http://primefaces.org/ui"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:sec="http://www.springframework.org/security/facelets/tags" >
        
    <ui:define name="menu_horizontal">
        <sec:ifAnyGranted roles="ROLE_ADMIN,ROLE_FUNC">
            <ui:include src="/pages/site/funcionario/menu.xhtml" />
        </sec:ifAnyGranted>
    </ui:define>
    <ui:define name="corpo">
        <style type="text/css">
            .semBorda tr, .semBorda td {  
                border: none !important;  
            }
        </style>
        <br/>
        <sec:ifAnyGranted roles="ROLE_ADMIN,ROLE_FUNC">
        
            <h:form id="formPrinc">
                <p:growl id="growl"/>
                <p:fieldset legend="Cadastro de Pessoas">
                    <p:panelGrid columns="3" styleClass="semBorda">
                        <p:panelGrid columns="2">
                            <h:outputLabel value="Nome" for="nome"/>
                            <p:inputText   value="#{controllerFuncionario.usuario.nome}" id="nome"/>                
                            <h:outputLabel value="Login" for="login"/>
                            <p:inputText   value="#{controllerFuncionario.usuario.login}" id="login"/>                
                            <p:outputLabel value="Telefone" for="telefone"/>
                            <p:inputMask mask="(99)9999-9999"   value="#{controllerFuncionario.usuario.contato}" id="telefone"/>                            
                            <h:outputText value="Senha: *"/>
                            <p:password size="18" value="#{controllerFuncionario.usuario.senha}" required="true"
                                        requiredMessage="campo senha é obrigatório." style="width: 150px;"/>
                            <h:outputText value="Repita senha: *"/>
                            <p:password size="18" value="#{controllerFuncionario.usuario.senha2}" required="true"
                                        requiredMessage="campo senha é obrigatório." style="width: 150px;"/>
                            <p:outputLabel value="Endereco" for="endereco"/>
                            <p:inputText   value="#{controllerFuncionario.usuario.endereco}" id="endereco"/> 
                            <p:outputLabel value="Numero" for="numero"/>
                            <p:inputText   value="#{controllerFuncionario.usuario.numero}" id="numero"/>
                        </p:panelGrid>
                        <p:panelGrid columns="2">

                            
                            <p:outputLabel value="Complemento" for="complemento"/>
                            <p:inputText   value="#{controllerFuncionario.usuario.complemento}" id="complemento"/>
                            <p:outputLabel value="Bairro" for="bairro"/>
                            <p:inputText   value="#{controllerFuncionario.usuario.bairro}" id="bairro"/>
                            <p:outputLabel value="Cidade" for="cidade"/>
                            <p:inputText   value="#{controllerFuncionario.usuario.cidade}" id="cidade"/>
                            <p:outputLabel value="Estado" for="estado"/>
                            <p:selectOneMenu value="#{controllerFuncionario.usuario.estado}" id="estado">
                                <f:selectItem itemLabel="Selecione"/>
                                <f:selectItem itemLabel="Acre" itemValue="AC"/>
                                <f:selectItem itemLabel="Alagoas" itemValue="AL"/>
                                <f:selectItem itemLabel="Amapá" itemValue="AP"/>
                                <f:selectItem itemLabel="Amazonas" itemValue="AM"/>
                                <f:selectItem itemLabel="Bahia" itemValue="BA"/>
                                <f:selectItem itemLabel="Ceará" itemValue="CE"/>
                                <f:selectItem itemLabel="Distrito Federal" itemValue="DF"/>
                                <f:selectItem itemLabel="Espírito Santo" itemValue="ES"/>
                                <f:selectItem itemLabel="Goiás" itemValue="GO"/>
                                <f:selectItem itemLabel="Maranhão" itemValue="MA"/>
                                <f:selectItem itemLabel="Mato Grosso" itemValue="MT"/>
                                <f:selectItem itemLabel="Mato Grosso do Sul" itemValue="MS"/>
                                <f:selectItem itemLabel="Minas Gerais" itemValue="MG"/>
                                <f:selectItem itemLabel="Pará" itemValue="PA"/>
                                <f:selectItem itemLabel="Paraíba" itemValue="PB"/>
                                <f:selectItem itemLabel="Paraná" itemValue="PR"/>
                                <f:selectItem itemLabel="Pernanbuco" itemValue="PE"/>
                                <f:selectItem itemLabel="Piauí" itemValue="PI"/>
                                <f:selectItem itemLabel="Rio de Janeiro" itemValue="RJ"/>
                                <f:selectItem itemLabel="Rio Grande do Norte" itemValue="RN"/>
                                <f:selectItem itemLabel="Rio Grande do Sul" itemValue="RS"/>
                                <f:selectItem itemLabel="Rondônia" itemValue="RO"/>
                                <f:selectItem itemLabel="Santa Catarina" itemValue="SC"/>
                                <f:selectItem itemLabel="São Paulo" itemValue="SP"/>
                                <f:selectItem itemLabel="Sergipe" itemValue="SE"/>
                                <f:selectItem itemLabel="Tocantins" itemValue="TO"/>
                            </p:selectOneMenu>
                            <h:outputLabel value="Status" for="ativo"/>
                            <p:selectBooleanButton id="ativo" value="#{controllerFuncionario.usuario.ativo}" onLabel="Sim" offLabel="Não" />
                            <h:outputText value="Perfil"/>
                            <p:selectOneMenu value="#{controllerFuncionario.controlPermissao}">
                                <f:selectItem itemLabel="Selecione" />
                                <f:selectItem itemLabel="Funcionario" itemValue="Funcionario"/>
                                <f:selectItem itemLabel="Cliente"     itemValue="Cliente"/>
                            </p:selectOneMenu>                                         
                            
                            <p:outputLabel value="Email"  for="email"/>
                            <p:inputText   value="#{controllerFuncionario.usuario.email}" id="email"/>
                        </p:panelGrid>
                        
                        <p:panelGrid columns="2">
                            
                        </p:panelGrid>
                        
                    </p:panelGrid>
                    <br/>
                    <p:commandButton value="Cadastrar" actionListener="#{controllerFuncionario.cadastrar()}" update="@form" />


                </p:fieldset>
                <br/>
                <p:fieldset legend="Manutenção de contas">
                    <p:dataTable id="tabela" var="fun" value="#{controllerFuncionario.listaDM}" paginator="true" rows="5" 
                               paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
                               rowsPerPageTemplate="5,10,15"       emptyMessage="Nada encontrado...">
                        <p:column headerText="Nome">
                            <h:outputText value="#{fun.nome}"/>
                        </p:column>
                        <p:column headerText="Login">
                            <h:outputText value="#{fun.login}"/>
                        </p:column>
                        <p:column headerText="Telefone">
                            <h:outputText value="#{fun.contato}"/>
                        </p:column>                    
                        <p:column headerText="Endereco">
                            <h:outputText value="#{fun.endereco}"/>
                        </p:column>
                        <p:column headerText="Numero">
                            <h:outputText value="#{fun.numero}"/>
                        </p:column>
                        <p:column headerText="Complemento">
                            <h:outputText value="#{fun.complemento}"/>
                        </p:column>
                        <p:column headerText="Bairro">
                            <h:outputText value="#{fun.bairro}"/>
                        </p:column>
                        <p:column headerText="Cidade">
                            <h:outputText value="#{fun.cidade}"/>
                        </p:column>
                        <p:column headerText="Estado">
                            <h:outputText value="#{fun.estado}"/>
                        </p:column>
                        <p:column headerText="Email">
                            <h:outputText value="#{fun.email}"/>
                        </p:column>
                        <p:column headerText="Status" rendered="#{fun.ativo}">
                            <h:outputText value="Ativo"/>
                        </p:column>
                        <p:column headerText="Status" rendered="#{!fun.ativo}">
                            <h:outputText value="Inativo"/>
                        </p:column>
                        <p:column headerText="Opções">
                            <p:commandButton value="Excluir" actionListener="#{controllerFuncionario.excluir()}" update="@form" process="@this"/>
                            <p:commandButton value="Editar" actionListener="#{controllerFuncionario.prepararAlterar()}" update=":formEditarFuncionario" process="@this" oncomplete="dialogFuncionario.show();"/>
                        </p:column>
                    </p:dataTable>
                </p:fieldset>

            </h:form>
                <h:form id="formEditarFuncionario">
                    <p:dialog id="dialogFuncionario" widgetVar="dialogFuncionario" modal="true" closable="false">                
                        <p:fieldset legend="Cadastro Funcionario" id="fsalterar" >
                            <p:panelGrid columns="2" styleClass="semBorda">
                                <p:panelGrid columns="2">
                                    <h:outputLabel value="Nome" for="nome"/>
                                    <p:inputText   value="#{controllerFuncionario.usuario.nome}" id="nome"/>                
                                    <h:outputLabel value="Login" for="login"/>
                                    <p:inputText   value="#{controllerFuncionario.usuario.login}" id="login"/>                
                                    <p:outputLabel value="Telefone" for="telefone"/>
                                    <p:inputMask mask="(99)9999-9999"   value="#{controllerFuncionario.usuario.contato}" id="telefone"/>                            
                                    <p:outputLabel value="Endereco" for="endereco"/>
                                    <p:inputText   value="#{controllerFuncionario.usuario.endereco}" id="endereco"/>                
                                    <p:outputLabel value="Numero" for="numero"/>
                                    <p:inputText   value="#{controllerFuncionario.usuario.numero}" id="numero"/>
                                </p:panelGrid>
                                <p:panelGrid columns="2">                        
                                    <p:outputLabel value="Complemento" for="complemento"/>
                                    <p:inputText   value="#{controllerFuncionario.usuario.complemento}" id="complemento"/>
                                    <p:outputLabel value="Bairro" for="bairro"/>
                                    <p:inputText   value="#{controllerFuncionario.usuario.bairro}" id="bairro"/>
                                    <p:outputLabel value="Cidade" for="cidade"/>
                                    <p:inputText   value="#{controllerFuncionario.usuario.cidade}" id="cidade"/>
                                    <h:outputText value="Ativo"/>
                                    <p:selectBooleanButton value="#{controllerFuncionario.usuario.ativo}" onLabel="Sim" offLabel="Não" />
                                    <p:outputLabel value="Email"  for="email"/>
                                    <p:inputText   value="#{controllerFuncionario.usuario.email}" id="email"/>
                                </p:panelGrid>
                            </p:panelGrid>
                            <p:commandButton value="Fechar" actionListener="#{controllerFuncionario.limpar()}" oncomplete="dialogFuncionario.hide();" update="@form"/>
                            <p:commandButton value="Alterar" actionListener="#{controllerFuncionario.editar()}" update=":formPrinc" oncomplete="dialogFuncionario.hide();"/>
                        </p:fieldset>
                    </p:dialog>
                </h:form>
        </sec:ifAnyGranted>
    </ui:define>

</ui:composition>